package com.sg.service.biz.bff.impl;

import com.sg.common.util.RedisUtil;
import com.sg.dto.biz.bff.req.BffAutoBuildSingleEvaObjTarCycStaDataReqDto;
import com.sg.dto.biz.bff.res.BffAutoBuildSingleEvaObjTarCycStaDataRespDto;
import com.sg.dto.integration.app.AutoBuildEvaObjTarCycStaDataComReqDto;
import com.sg.dto.integration.app.AutoBuildEvaObjTarCycStaDataComRespDto;
import com.sg.service.biz.bff.SystemTestDomainService;
import com.wicket.okrapp.integration.SystemTestDomainService;
import com.sg.common.exception.Assert;
import org.apache.skywalking.apm.toolkit.trace.Tag;
import org.apache.skywalking.apm.toolkit.trace.Tags;
import org.apache.skywalking.apm.toolkit.trace.Trace;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

/**
 * @author ：
 * @version 1.0
 * @date ：
 */
@Service
public class SystemTestDomainServiceImpl implements SystemTestDomainService {

    @Resource
    private RedisUtil redisUtil;
    @Resource
    com.sg.service.biz.app.SystemTestDomainService fwAppSystemTestDomainClient;

    /**
     * B3一键构造单条被评对象目标周期标准数据验证数据[4502]
     * gen by moon at 9/8/2022, 11:06:54 PM
     */
    @Trace(operationName = "B3一键构造单条被评对象目标周期标准数据验证数据")
    @Tags({@Tag(key = "参数", value = "arg[0]"),
            @Tag(key = "返回值", value = "returnedObj")})
    @Override
    public BffAutoBuildSingleEvaObjTarCycStaDataRespDto autoBuildSingleEvaObjTarCycStaData(BffAutoBuildSingleEvaObjTarCycStaDataReqDto reqDto) {


        //步骤0: D3-一键构造被评对象目标周期标准数据验证数据(公共) - autoBuildEvaObjTarCycStaDataCom
        AutoBuildEvaObjTarCycStaDataComRespDto autoBuildEvaObjTarCycStaDataComRespDto = null;
        AutoBuildEvaObjTarCycStaDataComReqDto autoBuildEvaObjTarCycStaDataComReqDto = new AutoBuildEvaObjTarCycStaDataComReqDto();
        autoBuildEvaObjTarCycStaDataComReqDto.setBizRoleObjCode("PRINCIPAL");//CUSTOM_CONVENTION//sourceId:317036_1
        autoBuildEvaObjTarCycStaDataComReqDto.setPersonLiableTypeCode("FILL_ROLE");//sourceId:317037_1
        autoBuildEvaObjTarCycStaDataComReqDto.setBizRoleObjName("PRINCIPAL");//CUSTOM_CONVENTION//sourceId:317038_1
        autoBuildEvaObjTarCycStaDataComReqDto.setActualValueUnit("FEN");//sourceId:317024_1
        autoBuildEvaObjTarCycStaDataComReqDto.setProgressValueUnit("PERCENT");//sourceId:317020_1
        autoBuildEvaObjTarCycStaDataComReqDto.setProgressFromLastRatioUnit("PERCENT");//sourceId:317022_1
        autoBuildEvaObjTarCycStaDataComReqDto.setReachUnit("PERCENT");//sourceId:317026_1
        autoBuildEvaObjTarCycStaDataComReqDto.setActualFromLastTimeRatioUnit("PERCENT");//sourceId:317028_1
        autoBuildEvaObjTarCycStaDataComReqDto.setRealTimeScoreUnit("FEN");//CUSTOM_CONVENTION//sourceId:317030_1
        autoBuildEvaObjTarCycStaDataComReqDto.setStageData("抽查计算机学院课程进度，目前进度正常，课程思政元素目前是做开放课程必要的前提，主要是课程标准的设计，把思政中立德树人放在第一位，主要是课程标准的设计");//CUSTOM_CONVENTION//sourceId:317042_1
        autoBuildEvaObjTarCycStaDataComReqDto.setSummaryDataPic("http://www.suzhi.link/SPACE/REPORT_THUMBNAIL/DEFAULT/20220829/D5A394AB9E6F4A8EBFB1890EF48A21DF.jpeg");//CUSTOM_CONVENTION//sourceId:317043_1
        autoBuildEvaObjTarCycStaDataComReqDto.setTextSummaryData("发起目标沟通会，确定各部门的目标任务，以及确定验收标准。");//CUSTOM_CONVENTION//sourceId:317044_1
        if (reqDto != null) {
            autoBuildEvaObjTarCycStaDataComReqDto.setTargetId(reqDto.getTargetId());//sourceId:317031_1
            autoBuildEvaObjTarCycStaDataComReqDto.setEvaObjEntityId(reqDto.getEvaObjEntityId());//sourceId:317047_1
            autoBuildEvaObjTarCycStaDataComReqDto.setEvaObjTableTypeCode(reqDto.getEvaObjTableTypeCode());//sourceId:317041_1
            autoBuildEvaObjTarCycStaDataComReqDto.setEvaObjTypeCode(reqDto.getEvaObjTypeCode());//sourceId:317039_1
            autoBuildEvaObjTarCycStaDataComReqDto.setTreeTypeCode(reqDto.getTreeTypeCode());//sourceId:317040_1
            autoBuildEvaObjTarCycStaDataComReqDto.setTargetCycleContentTypeCode(reqDto.getTargetCycleContentTypeCode());//sourceId:317033_1
            autoBuildEvaObjTarCycStaDataComReqDto.setTargetCycleContentId(reqDto.getTargetCycleContentId());//sourceId:317032_1
            autoBuildEvaObjTarCycStaDataComReqDto.setPersonLiableObjId(reqDto.getPersonLiableObjId());//sourceId:317034_1
            autoBuildEvaObjTarCycStaDataComReqDto.setBizRoleObjId(reqDto.getBizRoleObjId());//sourceId:317035_1
            autoBuildEvaObjTarCycStaDataComReqDto.setActualValue(reqDto.getActualValue());//sourceId:317023_1
            autoBuildEvaObjTarCycStaDataComReqDto.setProgressValue(reqDto.getProgressValue());//sourceId:317019_1
            autoBuildEvaObjTarCycStaDataComReqDto.setProgressFromLastRatio(reqDto.getProgressFromLastRatio());//sourceId:317021_1
            autoBuildEvaObjTarCycStaDataComReqDto.setReach(reqDto.getReach());//sourceId:317025_1
            autoBuildEvaObjTarCycStaDataComReqDto.setActualFromLastTimeRatio(reqDto.getActualFromLastTimeRatio());//sourceId:317027_1
            autoBuildEvaObjTarCycStaDataComReqDto.setRealTimeScore(reqDto.getRealTimeScore());//sourceId:317029_1
            autoBuildEvaObjTarCycStaDataComReqDto.setFilledByInductionId(reqDto.getPersonLiableObjId());//sourceId:317045_1
            autoBuildEvaObjTarCycStaDataComReqDto.setEvaluationFillRoleId(reqDto.getBizRoleObjId());//sourceId:317046_1
        }

        /*D3-一键构造被评对象目标周期标准数据验证数据(公共)[4294]   */
        Assert.isNull(autoBuildEvaObjTarCycStaDataComReqDto.getActualValueUnit(), "B3一键构造单条被评对象目标周期标准数据验证数据-D3-一键构造被评对象目标周期标准数据验证数据(公共)-实际值单位不能为空", false);
        Assert.isNull(autoBuildEvaObjTarCycStaDataComReqDto.getProgressValueUnit(), "B3一键构造单条被评对象目标周期标准数据验证数据-D3-一键构造被评对象目标周期标准数据验证数据(公共)-进度值单位不能为空", false);
        Assert.isNull(autoBuildEvaObjTarCycStaDataComReqDto.getProgressFromLastRatioUnit(), "B3一键构造单条被评对象目标周期标准数据验证数据-D3-一键构造被评对象目标周期标准数据验证数据(公共)-进度较上次增降幅单位不能为空", false);
        Assert.isNull(autoBuildEvaObjTarCycStaDataComReqDto.getReachUnit(), "B3一键构造单条被评对象目标周期标准数据验证数据-D3-一键构造被评对象目标周期标准数据验证数据(公共)-达成度单位不能为空", false);
        Assert.isNull(autoBuildEvaObjTarCycStaDataComReqDto.getActualFromLastTimeRatioUnit(), "B3一键构造单条被评对象目标周期标准数据验证数据-D3-一键构造被评对象目标周期标准数据验证数据(公共)-达成度较上次增降福单位不能为空", false);
        Assert.isNull(autoBuildEvaObjTarCycStaDataComReqDto.getRealTimeScoreUnit(), "B3一键构造单条被评对象目标周期标准数据验证数据-D3-一键构造被评对象目标周期标准数据验证数据(公共)-实时得分单位不能为空", false);
        Assert.isNull(autoBuildEvaObjTarCycStaDataComReqDto.getStageData(), "B3一键构造单条被评对象目标周期标准数据验证数据-D3-一键构造被评对象目标周期标准数据验证数据(公共)-阶段资料具体内容不能为空", false);
        Assert.isNull(autoBuildEvaObjTarCycStaDataComReqDto.getSummaryDataPic(), "B3一键构造单条被评对象目标周期标准数据验证数据-D3-一键构造被评对象目标周期标准数据验证数据(公共)-资料图片概要地址不能为空", false);
        Assert.isNull(autoBuildEvaObjTarCycStaDataComReqDto.getTextSummaryData(), "B3一键构造单条被评对象目标周期标准数据验证数据-D3-一键构造被评对象目标周期标准数据验证数据(公共)-资料文字概要不能为空", false);
        autoBuildEvaObjTarCycStaDataComRespDto = fwAppSystemTestDomainClient.autoBuildEvaObjTarCycStaDataCom(autoBuildEvaObjTarCycStaDataComReqDto).getData();


        BffAutoBuildSingleEvaObjTarCycStaDataRespDto retData = new BffAutoBuildSingleEvaObjTarCycStaDataRespDto();


        return retData;
    }
    //
}
